package pe.edu.upc.dew.bibliotecaweb.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * @author DEW 2010
 * Acción encargada de eliminar la sesión creada por el usuario
 */
public class LogoutAction extends org.apache.struts.action.Action {
    
    private static final String SUCCESS = "success";

    /**
     * Se obtiene la sesión actual del request y se elimina, usando para esto el método invalidate()
     * Eliminada la sesión, se redirecciona al usuario a la página de inicio de sesión
     * @param mapping   permite realizar los redireccionamientos, en base a la asociación y configuración hecha en el archivo struts-config.xml
     * @param form      permite acceder a los campos del formulario de Login
     * @param request   trae el request generado al realizar el submit desde el formulario de Login
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        HttpSession session = (HttpSession) request.getSession();
        session.invalidate();
        return mapping.findForward(SUCCESS);
    }

}
